home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / tags18.zip / FLAGS.H < prev    next >
C/C++ Source or Header  |  1992-04-25  |  4KB  |  130 lines

  1. /*
  2.  EPSHeader
  3.  
  4.    File: flags.h
  5.    Author: J. Kercheval
  6.    Created: Thu, 09/05/1991  20:15:37
  7. */
  8. /*
  9.  EPSRevision History
  10.  
  11.    J. Kercheval  Thu, 09/05/1991  20:17:03  creation
  12.    J. Kercheval  Wed, 09/11/1991  01:41:28  add extern flag for C
  13.    J. Kercheval  Tue, 09/17/1991  19:32:57  add case_sensitive flag
  14.    J. Kercheval  Fri, 10/04/1991  10:43:20  add ck and ci flags
  15.    J. Kercheval  Sat, 04/25/1992  01:40:14  add junk filter boolean
  16. */
  17.  
  18. #ifndef FLAGS_HEADER
  19. #define FLAGS_HEADER
  20.  
  21. #ifndef BOOLEAN
  22. #define BOOLEAN int
  23. #define TRUE 1
  24. #define FALSE 0
  25. #endif
  26.  
  27.  
  28. /* tag_type is the tagging method currently in use */
  29. typedef enum {
  30.     C, ASM, MERGE, SORT
  31. } TagType;
  32.  
  33.  
  34. /* flag structure for command line flags */
  35. typedef struct FlagStruct {
  36.  
  37.     /* verbose or no? */
  38.     BOOLEAN quiet;              /* suppress stderr logging messages */
  39.  
  40.     /* file overwrite on log entry */
  41.     BOOLEAN log_overwrite;
  42.  
  43.     /* use relative pathnames in output */
  44.     BOOLEAN use_relative_pathnames;
  45.  
  46.     /* sort the tags output */
  47.     BOOLEAN sort_tags;
  48.  
  49.     /* use junk filters */
  50.     BOOLEAN filter_junk;
  51.  
  52.     /* use case sensitive sort */
  53.     BOOLEAN case_sensitive;
  54.  
  55.     /* use an output file */
  56.     BOOLEAN output_file;
  57.  
  58.     /* the type of parsing which occurs for the current file */
  59.     TagType tag_type;           /* type of tag file */
  60.  
  61.     /* Assembly element parsing */
  62.     BOOLEAN af;                 /* assembly, procedure labels */
  63.     BOOLEAN al;                 /* assembly, local labels */
  64.     BOOLEAN am;                 /* assembly, macro labels */
  65.     BOOLEAN as;                 /* assembly, struc labels */
  66.     BOOLEAN au;                 /* assembly, union labels */
  67.     BOOLEAN ad;                 /* assembly, data definition labels */
  68.  
  69.     /* C language element parsing */
  70.     BOOLEAN cf;                 /* C, function calls */
  71.     BOOLEAN cp;                 /* C, prototypes */
  72.     BOOLEAN cm;                 /* C, macros */
  73.     BOOLEAN cs;                 /* C, struct, global */
  74.     BOOLEAN ct;                 /* C, typedef, global */
  75.     BOOLEAN ce;                 /* C, enum, global */
  76.     BOOLEAN ck;                 /* C, enum Konstants, global */
  77.     BOOLEAN cu;                 /* C, union, global */
  78.     BOOLEAN cv;                 /* C, global variables */
  79.     BOOLEAN cc;                 /* C, class, global */
  80.     BOOLEAN cd;                 /* C, macros, defines and constants */
  81.     BOOLEAN cx;                 /* C, extern, global declarations */
  82.     BOOLEAN ci;                 /* C, static, global declarations */
  83.  
  84.     /* output format options only the last in parameter allowed or used */
  85.     BOOLEAN oe;                 /* epsilon tags format */
  86.     BOOLEAN o5;                    /* epsilon V5.0 and previous */
  87.     BOOLEAN og;                 /* GNU tags format */
  88.     BOOLEAN os;                 /* space delimited format */
  89.     BOOLEAN om;                 /* MicroSoft Error format */
  90. } Flags;
  91.  
  92.  
  93. /*----------------------------------------------------------------------------
  94.  *
  95.  * init_flags() set the initial values of the all option flags in FLAGS struct
  96.  *
  97.  ---------------------------------------------------------------------------*/
  98.  
  99. void init_flags(Flags * flags);
  100.  
  101.  
  102. /*----------------------------------------------------------------------------
  103.  *
  104.  * parse_ASM_flags() set the option flags for ASM command line switch
  105.  *
  106.  ---------------------------------------------------------------------------*/
  107.  
  108. void parse_ASM_flags(char *argv, Flags * flags);
  109.  
  110.  
  111. /*----------------------------------------------------------------------------
  112.  *
  113.  * parse_C_flags() set the option flags for C command line switch
  114.  *
  115.  ---------------------------------------------------------------------------*/
  116.  
  117. void parse_C_flags(char *argv, Flags * flags);
  118.  
  119.  
  120. /*----------------------------------------------------------------------------
  121.  *
  122.  * parse_output_flag() set the option flag for output format, These formats
  123.  * are mutually exclusive from the point of view of this routine.
  124.  *
  125.  ---------------------------------------------------------------------------*/
  126.  
  127. void parse_output_flags(char *argv, Flags * flags);
  128.  
  129. #endif                          /* FLAGS_HEADER */
  130.